hhkb
모의해킹

호스트기반모의해킹_19_취약점 공격 개요

작성자 : Heehyeon Yoo|2025-11-30
# 모의해킹# Exploitation# PoC# 개념 증명# 윤리적 해킹

1. 취약점 공격(Exploitation)이란?

정보 수집과 취약점 진단 단계에서 발견한 보안 홀(Vulnerability)이나 잘못된 설정(Misconfiguration)을 악용하여, 공격자가 원하는 페이로드(Payload)를 대상 시스템에서 실행하는 과정이다.

  • 목표: 시스템 접근 권한 획득, 중요 정보 탈취, 서비스 무력화 등.
  • 흐름: 취약점 식별 -> 익스플로잇(Exploit) 코드 작성/선정 -> 페이로드 전달 -> 실행 및 권한 획득.

2. 모의해킹에서 공격이 필요한 이유

2.1 증명하라(Show, Don't Tell)

"취약점이 존재합니다"라고 말하는 것보다, 실제 공격이 성공함을 보여주는 것이 훨씬 강력하다.

  • 영향력(Impact) 입증: 비기술자인 경영진(C-Suite)에게 "Command Injection이 있다"고 말하는 것보다, "이 취약점으로 고객 개인정보 200만 건 접근이 가능함"을 증명하는 것이 수정의 필요성을 설득하기 쉽다.

2.2 개념 증명(Proof of Concept, PoC)

모의해킹은 실제 공격이 아니므로, 시스템에 미치는 영향을 최소화하면서 취약점의 존재 여부만 증명해야 한다.

  • 원칙:
    • 최소한의 증명: 데이터베이스 덤프가 가능하더라도, 단 1개의 레코드만 다운로드하여 가능성을 입증한다.
    • 민감 정보 마스킹: 보고서 작성 시 주민등록번호 등 민감 정보는 가림 처리한다.
    • 위험 회피: 운영 중인 서비스에 장애를 일으킬 수 있는 파괴적인 공격(DoS 등)은 사전 협의 없이 수행하지 않는다.

3. 취약점 공격의 유형

  1. 계정 정보 기반 공격:
    • 무차별 대입(Brute Force): 모든 가능한 조합 대입.
    • 패스워드 스프레이(Password Spraying): 하나의 비밀번호를 다수의 계정에 대입(잠금 회피).
    • 크리덴셜 스터핑(Credential Stuffing): 기 유출된 계정 정보를 다른 서비스에 대입.
  2. 공개 익스플로잇(Public Exploit) 활용:
    • 이미 알려진 CVE에 대한 공격 코드가 Exploit-DBGitHub에 공개된 경우.
    • 공격 코드를 분석하고, 타겟 환경에 맞게 수정하여 사용한다.
  3. 제로데이(Zero-Day):
    • 아직 패치가 나오지 않은 미공개 취약점.(본 과정 범위 제외)

4. 실무에서는?

4.1 쉘(Shell)에 집착하지 마라

초심자들이 흔히 하는 실수는 "무조건 쉘(시스템 제어권)을 따야 한다"고 생각하는 것이다.

  • 다양한 목표: 취약점 공격의 결과가 꼭 원격 제어(RCE)일 필요는 없다.
    • 관리자 계정 탈취
    • 중요 데이터 열람(SQLi, LFI)
    • 내부망 피벗(Pivot) 교두보 확보
  • 비즈니스 관점: 고객사에게 가장 치명적인 것이 무엇인지(예: 개인정보 유출 vs 서비스 중단)를 파악하고 그 영향을 입증하는 것이 진정한 모의해킹이다.

4.2 대량 데이터 다운로드 금지

개념 증명을 핑계로 고객사의 DB 전체를 덤프 뜨는 행위는 정보통신망법 위반 소지가 있으며, 모의해킹 범위를 넘어선다. "가능성"만 확인하고 즉시 멈추는 절제가 필요하다.